Obstacle Avoiding Robot এর নির্মাণ

Computer Programming - আরডুইনো (Arduino) Arduino Robotics Projects (Arduino দিয়ে রোবোটিক্স প্রজেক্ট) |
261
261

Obstacle Avoiding Robot এর নির্মাণ


Obstacle Avoiding Robot একটি জনপ্রিয় প্রকল্প যা Arduino এবং বিভিন্ন সেন্সর ব্যবহার করে তৈরি করা হয়। এই রোবটটি একটি অটো-পাইলট সিস্টেমের মাধ্যমে বাধা এড়িয়ে চলতে সক্ষম। এটি রোবটিক্স এবং ইলেকট্রনিক্সের একটি বাস্তব উদাহরণ যা বিভিন্ন প্রযুক্তি একত্রিত করে।

প্রয়োজনীয় উপাদান

  1. Arduino Board (যেমন Arduino Uno)
  2. Ultrasonic Sensor (HC-SR04)
  3. Motor Driver (L298N বা L293D)
  4. DC Motors (২টি)
  5. Wheels (২টি)
  6. Chassis (রোবটের বডি)
  7. Battery Pack (ভোল্টেজ অনুযায়ী)
  8. Jumper Wires (সংযোগের জন্য)
  9. Breadboard (ঐচ্ছিক)

সার্কিট সংযোগ

  1. Ultrasonic Sensor সংযোগ:
    • VCC: Arduino 5V
    • GND: Arduino GND
    • Trig: Arduino পিন 9
    • Echo: Arduino পিন 10
  2. Motor Driver সংযোগ:
    • IN1: Arduino পিন 3 (Motor A)
    • IN2: Arduino পিন 4 (Motor A)
    • IN3: Arduino পিন 5 (Motor B)
    • IN4: Arduino পিন 6 (Motor B)
    • VCC: Battery Pack
    • GND: Arduino GND
  3. DC Motors:
    • Motor A এবং Motor B কে Motor Driver এর আউটপুট পিনে সংযুক্ত করুন।

কোড উদাহরণ

নিচে একটি কোড উদাহরণ দেওয়া হলো যা Ultrasonic Sensor ব্যবহার করে বাধা শনাক্ত করে এবং রোবটটিকে সঠিকভাবে পরিচালনা করে।

#include <NewPing.h>

#define TRIG_PIN 9
#define ECHO_PIN 10
#define MAX_DISTANCE 200

NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

#define MOTOR_A_IN1 3
#define MOTOR_A_IN2 4
#define MOTOR_B_IN1 5
#define MOTOR_B_IN2 6

void setup() {
  pinMode(MOTOR_A_IN1, OUTPUT);
  pinMode(MOTOR_A_IN2, OUTPUT);
  pinMode(MOTOR_B_IN1, OUTPUT);
  pinMode(MOTOR_B_IN2, OUTPUT);
}

void loop() {
  delay(50); // সেন্সর ডেটার জন্য অপেক্ষা
  unsigned int distance = sonar.ping_cm(); // দূরত্ব পরিমাপ করা

  if (distance < 15 && distance > 0) { // যদি বাধা ১৫ সেন্টিমিটারের মধ্যে হয়
    // রোবট পিছনে যাবে
    moveBackward();
    delay(500); // ৫০০ মিলিসেকেন্ড
    turnLeft(); // বাঁ দিকে ঘুরবে
  } else {
    moveForward(); // বাধা না থাকলে সামনে চলবে
  }
}

void moveForward() {
  digitalWrite(MOTOR_A_IN1, HIGH);
  digitalWrite(MOTOR_A_IN2, LOW);
  digitalWrite(MOTOR_B_IN1, HIGH);
  digitalWrite(MOTOR_B_IN2, LOW);
}

void moveBackward() {
  digitalWrite(MOTOR_A_IN1, LOW);
  digitalWrite(MOTOR_A_IN2, HIGH);
  digitalWrite(MOTOR_B_IN1, LOW);
  digitalWrite(MOTOR_B_IN2, HIGH);
}

void turnLeft() {
  digitalWrite(MOTOR_A_IN1, LOW);
  digitalWrite(MOTOR_A_IN2, HIGH);
  digitalWrite(MOTOR_B_IN1, HIGH);
  digitalWrite(MOTOR_B_IN2, LOW);
}

void turnRight() {
  digitalWrite(MOTOR_A_IN1, HIGH);
  digitalWrite(MOTOR_A_IN2, LOW);
  digitalWrite(MOTOR_B_IN1, LOW);
  digitalWrite(MOTOR_B_IN2, HIGH);
}

কোডের ব্যাখ্যা

  • Ultrasonic Sensor: NewPing লাইব্রেরি ব্যবহার করে রোবটের সামনে অবস্থিত বাধার দূরত্ব পরিমাপ করা হয়।
  • Motor Control: বিভিন্ন ফাংশনের মাধ্যমে রোবটের মোটর চালানো হয়, যেমন moveForward(), moveBackward(), turnLeft(), এবং turnRight().
  • Obstacle Detection: যদি বাধার দূরত্ব ১৫ সেন্টিমিটারের কম হয়, তাহলে রোবটটি পিছনে যাবে এবং পরে বাঁ দিকে ঘুরবে।

সমস্যা সমাধান টিপস

  • মোটর কাজ করছে না: সংযোগ এবং পাওয়ার চেক করুন। Motor Driver সঠিকভাবে সংযুক্ত আছে কি না নিশ্চিত করুন।
  • Ultrasonic Sensor কাজ করছে না: সেন্সরের সংযোগ এবং কোড চেক করুন। ট্রিগার এবং ইকো পিনগুলি সঠিকভাবে সংযুক্ত হয়েছে কি না নিশ্চিত করুন।
  • রোবট সঠিকভাবে চলে না: কোড এবং হার্ডওয়্যার সংযোগ চেক করুন।

Obstacle Avoiding Robot প্রকল্পটি ইলেকট্রনিক্স এবং রোবোটিক্সের একটি বাস্তব উদাহরণ। এটি সেন্সর ডেটা ব্যবহার করে রোবটের কার্যক্রম পরিচালনা করতে শেখায় এবং মৌলিক প্রোগ্রামিং ধারণার প্রয়োগ করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion